home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Utilities / Programming / MT2Trivial 1.0b2 / Example / test.p < prev    next >
Encoding:
Text File  |  1996-06-04  |  12.1 KB  |  496 lines  |  [TEXT/MPS ]

  1. {**********************************************************************
  2.             WARNING!
  3.             This source had been generated by
  4.             beta version  1.0b2 of the MT2Trivial Tool.
  5.             Be sure to ask author about improved 
  6.             version of the program :
  7.                             Michael I Trofimov,
  8.                             Internet: mtrofimov@glas.apc.org
  9.             (Any comments & suggestions will be highly appreciated.)
  10. **********************************************************************}
  11. {%% MT2Trivial Generation: Program heading}
  12. program test;
  13. { CONST Version  = '1.0';   For 'vers' resource}
  14.  USES Memory,Quickdraw,Events,Desk,ToolUtils,Fonts,Windows,Menus,Dialogs
  15. {%% >> add necessary units here <<}
  16. ;
  17. {
  18. ,ActionAtomIntf,ADSP,AEObjects,AEPackObject,AERegistry,AIFF,Aliases,AppleEvents,AppleTalk
  19. ,Balloons
  20. ,CommResources,Components,Connections,ConnectionTools,Controls,CRMSerialDevices,CTBUtilities
  21. ,CursorCtl
  22. ,DatabaseAccess,DeskBus,Devices,DisAsmLookup,DiskInit,Disks
  23. ,Editions,ENET,EPPC,ErrMgr,Errors
  24. ,Files,FileTransfers,FileTransferTools,Finder,FixMath,Folders
  25. ,GestaltEqu,Graf3D
  26. ,HyperXCmd
  27. ,Icons,ImageCodec,ImageCompression,IntEnv
  28. ,Language,Lists
  29. ,MacPrint,MediaHandlers,Memory,MemTypes,MIDI,Movies,MoviesFormat
  30. ,Notification
  31. ,ObjIntf,OSEvents,OSIntf,OSUtils
  32. ,Packages,PackIntf,PaletteMgr,Palettes,PasLibIntf,Perf,Picker,PickerIntf,PictUtil
  33. ,Power,PPCToolBox,Printing,PrintTraps,Processes
  34. ,QDOffscreen,QuickTimeComponents
  35. ,Resources,Retrace,ROMDefs,RTLib
  36. ,SANE,Scrap,Script,SCSI,SCSIIntf,SegLoad,Serial,ShutDown,Signal,Slots,Sound,SoundInput
  37. ,StandardFile,Start,Strings,SysEqu
  38. ,Terminals,TerminalTools,TextEdit,Timer,ToolIntf,Traps,Types
  39. ,Unmangler
  40. ,Video,VideoIntf
  41. }
  42.  
  43.  CONST
  44.   CNTLID130 = 130; {%%?}
  45.   CNTLID129 = 129; {%%?}
  46.   NewWindowWINDID = 128; { WIND resource : New Window }
  47.   FileMENUID = 257; { MENU resource : File }
  48.   NewItem =  1; { "New" }
  49.   OpenItem =  2; { "Open…" }
  50.   CloseItem =  3; { "Close" }
  51.   SaveItem =  5; { "Save" }
  52.   SaveAsItem =  6; { "Save as…" }
  53.   PageSetupItem =  8; { "Page Setup…" }
  54.   PrintItem =  9; { "Print…" }
  55.   QuitItem = 11; { "Quit" }
  56.   EditMENUID = 258; { MENU resource : Edit }
  57.   UndoItem =  1; { "Undo" }
  58.   CutItem =  3; { "Cut" }
  59.   CopyItem =  4; { "Copy" }
  60.   PasteItem =  5; { "Paste" }
  61.   ClearItem =  6; { "Clear" }
  62.   SelectAllItem =  7; { "Select All" }
  63.   AppleMENUID = 256; { MENU resource : Apple }
  64.   AboutTestEditItem =  1; { "About testEdit…" }
  65.   MBARID = 128;
  66.   a1stDialogDLOkItem = 1; { Ok }
  67.   a1stDialogDLCancelItem = 2; { Cancel }
  68.   a1stDialogDLItem3 = 3; {  }
  69.   a1stDialogDLItem4 = 4; {  }
  70.   a1stDialogDLItem5 = 5; {  }
  71.   a1stDialogDLDoItItem = 6; { Do it }
  72.   a1stDialogDLHiItem = 7; { Hi }
  73.   a1stDialogDLLoItem = 8; { Lo }
  74.   a1stDialogDLPictureItem9 = 9; {  }
  75.   a1stDialogDLIconItem10 = 10; {  }
  76.   a1stDialogDLItem11 = 11; {  }
  77.   a1stDialogDLAnyTextItem = 12; { Any Text }
  78.   a2ndDialogDLOkItem = 1; { Ok }
  79.   a2ndDialogDLCancelItem = 2; { Cancel }
  80.   a2ndDialogDLUserItemItem3 = 3; {  }
  81.   a2ndDialogDLPleaseSelectFileFromListItem = 4; { Please, select file from list. }
  82.   MyAlertBoxALOkItem = 1; { Ok }
  83.   MyAlertBoxALTextInAlertBoxItem = 2; { Text in alert box }
  84.   a1stDialogDLOGID = 128; { DLOG resource : 1st Dialog }
  85.   a2ndDialogDLOGID = 129; { DLOG resource : 2nd Dialog }
  86.   ICONID128 = 128; {%%?}
  87.   PICTID128 = 128; {%%?}
  88.   MyAlertBoxALRTID = 130; { ALRT resource : My alert box }
  89.  
  90. {%% MT2Trivial Generation: Items list(DITL)}
  91.  
  92.  PROCEDURE  DoNewItem;
  93.   begin { DoNewItem }
  94.  
  95.   end; { DoNewItem }
  96.  
  97.  PROCEDURE  DoOpenItem;
  98.   begin { DoOpenItem }
  99.  
  100.   end; { DoOpenItem }
  101.  
  102.  PROCEDURE  DoCloseItem;
  103.   begin { DoCloseItem }
  104.  
  105.   end; { DoCloseItem }
  106.  
  107.  PROCEDURE  DoSaveItem;
  108.   begin { DoSaveItem }
  109.  
  110.   end; { DoSaveItem }
  111.  
  112.  PROCEDURE  DoSaveAsItem;
  113.   begin { DoSaveAsItem }
  114.  
  115.   end; { DoSaveAsItem }
  116.  
  117.  PROCEDURE  DoPageSetupItem;
  118.   begin { DoPageSetupItem }
  119.  
  120.   end; { DoPageSetupItem }
  121.  
  122.  PROCEDURE  DoPrintItem;
  123.   begin { DoPrintItem }
  124.  
  125.   end; { DoPrintItem }
  126.  
  127.  PROCEDURE  DoQuitItem;
  128.   begin { DoQuitItem }
  129.  
  130.   end; { DoQuitItem }
  131.  
  132.  PROCEDURE  DoUndoItem;
  133.   begin { DoUndoItem }
  134.  
  135.   end; { DoUndoItem }
  136.  
  137.  PROCEDURE  DoCutItem;
  138.   begin { DoCutItem }
  139.  
  140.   end; { DoCutItem }
  141.  
  142.  PROCEDURE  DoCopyItem;
  143.   begin { DoCopyItem }
  144.  
  145.   end; { DoCopyItem }
  146.  
  147.  PROCEDURE  DoPasteItem;
  148.   begin { DoPasteItem }
  149.  
  150.   end; { DoPasteItem }
  151.  
  152.  PROCEDURE  DoClearItem;
  153.   begin { DoClearItem }
  154.  
  155.   end; { DoClearItem }
  156.  
  157.  PROCEDURE  DoSelectAllItem;
  158.   begin { DoSelectAllItem }
  159.  
  160.   end; { DoSelectAllItem }
  161.  
  162.  PROCEDURE  DoAboutTestEditItem;
  163.   begin { DoAboutTestEditItem }
  164.  
  165.   end; { DoAboutTestEditItem }
  166.  
  167.  PROCEDURE  Doa1stDialogDLOkItem;
  168.   begin { Doa1stDialogDLOkItem }
  169.  
  170.   end; { Doa1stDialogDLOkItem }
  171.  
  172.  PROCEDURE  Doa1stDialogDLCancelItem;
  173.   begin { Doa1stDialogDLCancelItem }
  174.  
  175.   end; { Doa1stDialogDLCancelItem }
  176.  
  177.  PROCEDURE  Doa1stDialogDLItem3;
  178.   begin { Doa1stDialogDLItem3 }
  179.  
  180.   end; { Doa1stDialogDLItem3 }
  181.  
  182.  PROCEDURE  Doa1stDialogDLItem4;
  183.   begin { Doa1stDialogDLItem4 }
  184.  
  185.   end; { Doa1stDialogDLItem4 }
  186.  
  187.  PROCEDURE  Doa1stDialogDLItem5;
  188.   begin { Doa1stDialogDLItem5 }
  189.  
  190.   end; { Doa1stDialogDLItem5 }
  191.  
  192.  PROCEDURE  Doa1stDialogDLDoItItem;
  193.   begin { Doa1stDialogDLDoItItem }
  194.  
  195.   end; { Doa1stDialogDLDoItItem }
  196.  
  197.  PROCEDURE  Doa1stDialogDLHiItem;
  198.   begin { Doa1stDialogDLHiItem }
  199.  
  200.   end; { Doa1stDialogDLHiItem }
  201.  
  202.  PROCEDURE  Doa1stDialogDLLoItem;
  203.   begin { Doa1stDialogDLLoItem }
  204.  
  205.   end; { Doa1stDialogDLLoItem }
  206.  
  207.  PROCEDURE  Doa1stDialogDLPictureItem9;
  208.   begin { Doa1stDialogDLPictureItem9 }
  209.  
  210.   end; { Doa1stDialogDLPictureItem9 }
  211.  
  212.  PROCEDURE  Doa2ndDialogDLOkItem;
  213.   begin { Doa2ndDialogDLOkItem }
  214.  
  215.   end; { Doa2ndDialogDLOkItem }
  216.  
  217.  PROCEDURE  Doa2ndDialogDLCancelItem;
  218.   begin { Doa2ndDialogDLCancelItem }
  219.  
  220.   end; { Doa2ndDialogDLCancelItem }
  221.  
  222.  PROCEDURE  Doa2ndDialogDLUserItemItem3;
  223.   begin { Doa2ndDialogDLUserItemItem3 }
  224.  
  225.   end; { Doa2ndDialogDLUserItemItem3 }
  226.  
  227.  PROCEDURE  DoMyAlertBoxALOkItem;
  228.   begin { DoMyAlertBoxALOkItem }
  229.  
  230.   end; { DoMyAlertBoxALOkItem }
  231.  
  232.  
  233. {%% MT2Trivial Generation: Window}
  234.  
  235.  PROCEDURE  DoNewWindow (var window : WindowPtr);
  236.   begin {DoNewWindow}
  237.  
  238.    window := nil;
  239.    window := GetNewWindow (NewWindowWINDID,nil,WindowPtr(-1)); {%%? >> GetNewCWindow << }
  240.  end; {DoNewWindow}
  241.  
  242. {%% MT2Trivial Generation: Dialogs, Alerts}
  243.  
  244.  PROCEDURE  Doa1stDialogDL;
  245.  VAR
  246.   itemHit : integer;
  247.   DialogW : DialogPtr;
  248.   begin { Doa1stDialogDL }
  249.  
  250.    DialogW := GetNewDialog (a1stDialogDLOGID,nil, pointer (-1));
  251.    REPEAT
  252.     ModalDialog (nil, itemHit); {%% >> Change it for modless dialog <<}
  253.     case itemHit of
  254.       a1stDialogDLOkItem : Doa1stDialogDLOkItem;
  255.       a1stDialogDLCancelItem : Doa1stDialogDLCancelItem;
  256.       a1stDialogDLItem3 : Doa1stDialogDLItem3;
  257.       a1stDialogDLItem4 : Doa1stDialogDLItem4;
  258.       a1stDialogDLItem5 : Doa1stDialogDLItem5;
  259.       a1stDialogDLDoItItem : Doa1stDialogDLDoItItem;
  260.       a1stDialogDLHiItem : Doa1stDialogDLHiItem;
  261.       a1stDialogDLLoItem : Doa1stDialogDLLoItem;
  262.       a1stDialogDLPictureItem9 : Doa1stDialogDLPictureItem9;
  263.      end; {case}
  264.    UNTIL itemHit = a1stDialogDLOkItem; {%%?}
  265.    DisposeDialog (DialogW);
  266.  end; { Doa1stDialogDL }
  267.  
  268.  PROCEDURE  Doa2ndDialogDL;
  269.  VAR
  270.   itemHit : integer;
  271.   DialogW : DialogPtr;
  272.   begin { Doa2ndDialogDL }
  273.  
  274.    DialogW := GetNewDialog (a2ndDialogDLOGID,nil, pointer (-1));
  275.    REPEAT
  276.     ModalDialog (nil, itemHit); {%% >> Change it for modless dialog <<}
  277.     case itemHit of
  278.       a2ndDialogDLOkItem : Doa2ndDialogDLOkItem;
  279.       a2ndDialogDLCancelItem : Doa2ndDialogDLCancelItem;
  280.       a2ndDialogDLUserItemItem3 : Doa2ndDialogDLUserItemItem3;
  281.      end; {case}
  282.    UNTIL itemHit = a2ndDialogDLOkItem; {%%?}
  283.    DisposeDialog (DialogW);
  284.  end; { Doa2ndDialogDL }
  285.  
  286.  PROCEDURE  DoMyAlertBoxAL;
  287.  VAR
  288.   itemHit : integer;
  289.   begin { DoMyAlertBoxAL }
  290.  
  291.    itemHit := Alert (MyAlertBoxALRTID, nil);
  292.     case itemHit of
  293.       MyAlertBoxALOkItem : DoMyAlertBoxALOkItem;
  294.      end; {case}
  295.  end; { DoMyAlertBoxAL }
  296.  
  297.  
  298. {%% MT2Trivial Generation: Menu}
  299.  
  300. PROCEDURE DoMenuCommand(event: EventRecord; var quit : Boolean);
  301.  
  302. VAR
  303.   menuResult: longint;
  304.   menu,mitem: integer;
  305.  
  306. BEGIN
  307.   menuResult:=MenuSelect(event.where);
  308.   menu:=HiWord(menuResult);
  309.   mitem:=LoWord(menuResult);
  310.   
  311.   CASE menu OF
  312.   FileMENUID : case mitem of
  313.       NewItem : DoNewItem;
  314.       OpenItem : DoOpenItem;
  315.       CloseItem : DoCloseItem;
  316.       SaveItem : DoSaveItem;
  317.       SaveAsItem : DoSaveAsItem;
  318.       PageSetupItem : DoPageSetupItem;
  319.       PrintItem : DoPrintItem;
  320.       QuitItem : DoQuitItem;
  321.      end; {case}
  322.   EditMENUID : case mitem of
  323.       UndoItem : DoUndoItem;
  324.       CutItem : DoCutItem;
  325.       CopyItem : DoCopyItem;
  326.       PasteItem : DoPasteItem;
  327.       ClearItem : DoClearItem;
  328.       SelectAllItem : DoSelectAllItem;
  329.      end; {case}
  330.   AppleMENUID : case mitem of
  331.       AboutTestEditItem : DoAboutTestEditItem;
  332.      end; {case}
  333.      end; {case}
  334.  end; { DoDoMenuCommand }
  335.  
  336.  
  337. {%% MT2Trivial Generation: Menu}
  338.  
  339. PROCEDURE DoMakeMenus;
  340.     var
  341.         menuBar: Handle;
  342.     
  343.     BEGIN
  344.       menuBar:=GetNewMBar(MBARID); {read menus and menu bar}
  345.     
  346.       IF menuBar<>NIL
  347.         THEN
  348.           BEGIN
  349.             SetMenuBar(menuBar); {insert menus into the current menu list}
  350.             DisposHandle(menuBar);
  351.             AddResMenu(GetMHandle(  AppleMENUID),'DRVR'); {add desktop items in Apple Menu
  352.                                                    Items folder to Apple menu}
  353.                                                 
  354.             {%% >> adjust items and enabled state of menus <<}
  355.             
  356.             DrawMenuBar; {draw the menu bar}
  357.     
  358.           END;
  359.     END; {DoMakeMenus}
  360.  
  361. {%% MT2Trivial Generation: Main Loop}
  362.  
  363.   PROCEDURE DoOSEvent(event: EventRecord; VAR cursorRgn: RgnHandle);
  364.   {Handling operating-system events}
  365.  
  366.     VAR
  367.       window: windowPtr;
  368.       activate: boolean;
  369.  
  370.     BEGIN
  371.       window:=FrontWindow;
  372.       CASE BSR(event.message,24) OF
  373.        mouseMovedMessage:
  374.        
  375.                {%% >> Adjust cursor <<}; 
  376.                 
  377.         suspendResumeMessage:
  378.           BEGIN
  379.             activate:=(BAnd(event.message,resumeFlag)<>0);
  380.             
  381.            {%% >> activate appl. window <<};
  382.            
  383.           END;
  384.         OTHERWISE;
  385.       END;
  386.     END; {DoOSEvent}
  387.  
  388. PROCEDURE DoMouseDown (event: EventRecord; var quit : Boolean);
  389.     VAR
  390.      part         : integer;
  391.      aWindow     : WindowPtr;
  392.      
  393.     BEGIN
  394.       part:=FindWindow(event.where,aWindow);
  395.       CASE part OF
  396.         inMenuBar:      DoMenuCommand(event,quit);    
  397.         InSysWindow:     SystemClick(event,aWindow);
  398.         
  399.         inDrag:         {%% >> <<};
  400.         inGoAway:         {%% >> <<};
  401.         inGrow:          {%% >> <<};
  402.         
  403.         inZoomIn, 
  404.         inZoomOut:         {%% >> handle mouse down in zoombox region <<};
  405.         
  406.         inContent:        {%% >> <<};
  407.       END; {case part of}
  408.     END; {DoMouseDown}
  409.  
  410.   PROCEDURE MainLoop;
  411.  
  412.     CONST
  413.       kReturnKey = $0D;
  414.       kEnterKey = $03;
  415.       kEscKey = 27;
  416.       
  417.  
  418.     VAR
  419.       key: Char;
  420.       quit,gotEvent,activate : Boolean;
  421.       event: EventRecord;
  422.       cursorRgn: RgnHandle;
  423.  
  424.     BEGIN
  425.       cursorRgn:=NewRgn;
  426.       quit:=false;
  427.       REPEAT
  428.         gotEvent:=WaitNextEvent(everyEvent,event,15,cursorRgn);
  429.         IF gotEvent
  430.           THEN
  431.             CASE event.what OF
  432.               osEvt: DoOSEvent(event,cursorRgn);
  433.               activateEvt: 
  434.                 BEGIN
  435.                   activate:=BAnd(event.modifiers,activeFlag)<>0;
  436.                           {%% >> <<}
  437.                 END;
  438.                 
  439.               updateEvt:     {%% >> <<};
  440.               mouseUp:         {%% >> <<};
  441.  
  442.               mouseDown: DoMouseDown (event,quit);
  443.  
  444.               keyDown,autoKey:
  445.                 BEGIN
  446.                   key:=chr(BAnd(event.message,charCodeMask));
  447.                   IF (BAnd(event.modifiers,cmdKey)<>0)
  448.                     THEN {command key down}
  449.                      {%% >> <<}
  450.                     ELSE IF key IN [chr(kReturnKey),chr(kEnterKey)]
  451.                       THEN {return or enter keys were pressed}
  452.                          {%% >> <<}
  453.                       ELSE IF (key=chr(kEscKey))
  454.                         THEN {esc key was pressed}
  455.                           BEGIN
  456.                            {%% >> <<}
  457.                           END
  458.                          ELSE 
  459.                           {%% >> <<};
  460.                  END;
  461.               diskEvt:              {%% >> <<};
  462.               nullEvent:         {%% >> <<};
  463.             END; {case}
  464.       UNTIL quit;
  465.       DisposeRgn(cursorRgn);
  466.     END; {MainLoop}
  467.  
  468.   PROCEDURE Init;
  469.     BEGIN
  470.       MaxApplZone;
  471.       MoreMasters;
  472.       MoreMasters;
  473.       MoreMasters;
  474.       MoreMasters;
  475.       MoreMasters;
  476.       MoreMasters;
  477.       
  478.       InitGraf(@thePort);
  479.       InitFonts;                    
  480.       InitWindows;
  481.       InitMenus;
  482.       TEInit;                        
  483.        InitDialogs(NIL);
  484.       InitCursor;                     {%%?}
  485.  DoMakeMenus;
  486.  
  487.   
  488.       {%% >> add another initialization here <<}
  489.     END; {Init}
  490.     
  491. BEGIN {program body}
  492.  Init;
  493.  MainLoop;
  494. END.
  495.  
  496.